package com.atguigu.gmall.common.utils;

import org.junit.jupiter.api.Test;

import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;

/**
 * 我自己写的URLencode工具类
 */
public class MyURLUtils {


    /**
     * 我自己写的URLEncode工具方法
     * 将 http://www.bilibili.com?hh=姓名&tt=性别&kk=年龄
     * 变成 http://www.bilibili.com?hh=%E5%A7%93%E5%90%8D&tt=%E6%80%A7%E5%88%AB&kk=%E5%B9%B4%E9%BE%84
     * @param url
     * @return url
     */
    public static String myUrlEncode(String url) {
        try {
            String[] split1 = url.split("\\?");
            if (split1[1] != null) {
                String[] split2 = split1[1].split("&");
                //是一组一组的key=value，最后我们要将每个元素用&拼接
                String last = "";
                for (String s : split2) {//
                    //将等号右侧的value编码
                    int index = s.lastIndexOf("=");
                    s = s.substring(0, index + 1) + URLEncoder.encode(s.substring(index + 1), "UTF-8");
                    last = last + s + "&";
                    //System.out.println(s);
                }
                return url = split1[0] + "?" + last.substring(0, last.length() - 1);
            }
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return url;
    }



}
